package com.cloud.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

import java.util.Objects;

/**
 * 产品枚举
 *
 * @author wangjian
 * @version 1.0.0
 * @create 2020年11月09日 18:05
 * @since JDK 1.8
 * Life is so short,do something to make yourself happy,such as coding
 */
@Getter
@ToString
@AllArgsConstructor
public enum ProductEnum {

    /**
     * 信传产品
     */
    CHAT_TOOL("1", "九一信传平台"),

    /**
     * 九一云产品管理平台
     */
    PRODUCT_ADMIN("2", "九一云产品管理平台"),

    /**
     * 九一云产品管理平台
     */
    ClOUD_ADMIN("3", "九一云大后台平台"),
    /**
     * 九一云产品管理平台
     */
    OFFICIAL_WEBSITE("4", "九一官网"),
    /**
     * 九一绘意平台
     */
    ClOUD_MEETING("5", "九一绘意平台"),
    /**
     * 九一流程中心
     */
    CLOUD_PROCESS("6", "九一流程中心")
    ;

    /**
     * 产品 Code
     */
    private final String code;
    /**
     * 产品名称
     */
    private final String msg;

    /**
     * 根据 产品 Code 获取 msg
     *
     * @param code 产品 Code
     * @return 产品枚举名称
     */
    public static String getMsg(String code) {
        ProductEnum productEnum = getEnum(code);
        if (Objects.nonNull(productEnum)) {
            return productEnum.getMsg();
        }
        return null;
    }

    /**
     * 根据code获取Enum
     *
     * @param code 产品 Code
     * @return 产品 Enum
     */
    public static ProductEnum getEnum(String code) {
        ProductEnum[] values = ProductEnum.values();
        for (ProductEnum productEnum : values) {
            if (productEnum.getCode().equals(code)) {
                return productEnum;
            }
        }
        return null;
    }
}
